package com.stateflow.facade.common.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;

/**
 * Created by weiqingming on 2019/4/19.
 * JSON解析工具
 */
public class JsonUtils {

    /**
     * 对象转JSON，不带格式
     * @param obj
     * @return
     */
    public static String toJson(Object obj) {
        return JSON.toJSONString(obj);
    }

    /**
     * 对象转JSON，带格式
     * @param obj
     * @return
     */
    public static String toJsonFormat(Object obj) {
        return JSON.toJSONString(obj, SerializerFeature.PrettyFormat);
    }

    /**
     * JSON转对象
     * @param json
     * @param clazz
     * @param <T>
     * @return
     */
    public static <T> T toObject(String json, Class<T> clazz) {
        return JSON.parseObject(json, clazz);
    }

    /**
     * JSON转对象
     * @param json
     * @param <T>
     * @return
     */
    public static <T> T toObject(String json) {
        return (T) JSON.parse(json);
    }
}
